class Solution {
public:
    int firstUniqChar(string s) {
        // 用于存储每个字符的出现次数，数组下标对应字符 'a' 到 'z'
        std::vector<int> charCount(26, 0);

        // 第一次遍历字符串，统计每个字符的出现次数
        for (char c : s) {
            charCount[c - 'a']++;
        }

        // 第二次遍历字符串，找到第一个出现次数为 1 的字符
        for (int i = 0; i < s.length(); ++i) {
            if (charCount[s[i] - 'a'] == 1) {
                return i;
            }
        }

        // 如果没有找到不重复的字符，返回 -1
        return -1;
    }
};